package com.cr.api.vo;

import com.cr.business.domain.CrDebtTransaction;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 债权交易对象 cr_debt_transaction
 *
 * @author ruoyi
 * @date 2021-10-14
 */
@Data
@ApiModel("债券转让对象")
public class DebtTransactionVo
{
    private List<DebtTransactionVo.AddDebtor> debtorList;
    /** 交易id */
    @ApiModelProperty("交易id")
    private Long transactionId;

    /** 债权人姓名 */
    @ApiModelProperty("债权人姓名")
    private String creditorName;

    /** 债务人姓名 */
    @ApiModelProperty("债务人姓名")
    private String debtorName;

    /** 债券编码 */
    @ApiModelProperty("债券编码")
    private String bondCode;

    /** 债权金额 */
    @ApiModelProperty("债权金额")
    private BigDecimal debtAmount;

    /** 保证金 */
    @ApiModelProperty("保证金")
    private BigDecimal bond;

    /** 转让金额 */
    @ApiModelProperty("转让金额")
    private BigDecimal transferAmount;

    /** 债权到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("债权到期时间")
    private Date creditorRightsTime;

    /** 债权状态 */
    @ApiModelProperty("债权状态")
    private String creditorRightsStatus;

    /** 省 */
    @ApiModelProperty("省")
    private String province;

    /** 市 */
    @ApiModelProperty("市")
    private String city;

    /** 区 */
    @ApiModelProperty("区")
    private String area;
    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    private String areaCode;
    /** 详细地址 */
    @ApiModelProperty("详细地址")
    private String address;

    /** 有无担保 0 无，1有 */
    @ApiModelProperty("有无担保 0 无，1有")
    private Integer guaranteeStatus;

    /** 担保物信息 */
    @ApiModelProperty("担保物信息")
    private String collateralInfo;

    /** 是否上传证据，0否，1是 */
    @ApiModelProperty("是否上传证据，0否，1是")
    private Integer evidenceStatus;

    /** 管辖法院 */
    @ApiModelProperty("管辖法院")
    private String compententCourt;

    /** 详细描述 */
    @ApiModelProperty("详细描述")
    private String detailedDescription;

    /** 审批状态，0待审批，1通过，2驳回 */
    @ApiModelProperty("审批状态，0待审批，1通过，2驳回")
    private Integer approvalStatus;

    /** 驳回原因 */
    @ApiModelProperty("驳回原因")
    private String rejectionReasons;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("审批时间")
    private Date approvalTime;

    /** 审批人 */
    @ApiModelProperty("审批人")
    private String approver;

    /** 支付状态。0未支付，1已支付 */
    @ApiModelProperty("支付状态。0未支付，1已支付")
    private Integer payStatus;

    /** 支付金额 */
    @ApiModelProperty("支付金额")
    private BigDecimal payAmount;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("支付时间")
    private Date payTime;

    /** 联系电话 */
    @ApiModelProperty("联系电话")
    private String contactNumber;

    /** 标题 */
    @ApiModelProperty("标题")
    private String title;

    /** 标题 */
    @ApiModelProperty("时间")
    @JsonFormat(pattern = "yyyy年MM月dd日")
    private Date time;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    public static class AddDebtor{
        private String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getIdNum() {
            return idNum;
        }

        public void setIdNum(String idNum) {
            this.idNum = idNum;
        }

        public String getIdValidDate() {
            return idValidDate;
        }

        public void setIdValidDate(String idValidDate) {
            this.idValidDate = idValidDate;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        /*身份证或社会统一信用代码*/
        private String idNum;
        private String idValidDate;
        private String address;
    }
    public Long getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(Long transactionId) {
        this.transactionId = transactionId;
    }

    public String getCreditorName() {
        return creditorName;
    }

    public void setCreditorName(String creditorName) {
        this.creditorName = creditorName;
    }

    public String getDebtorName() {
        return debtorName;
    }

    public void setDebtorName(String debtorName) {
        this.debtorName = debtorName;
    }

    public String getBondCode() {
        return bondCode;
    }

    public void setBondCode(String bondCode) {
        this.bondCode = bondCode;
    }

    public BigDecimal getDebtAmount() {
        return debtAmount;
    }

    public void setDebtAmount(BigDecimal debtAmount) {
        this.debtAmount = debtAmount;
    }

    public BigDecimal getBond() {
        return bond;
    }

    public void setBond(BigDecimal bond) {
        this.bond = bond;
    }

    public BigDecimal getTransferAmount() {
        return transferAmount;
    }

    public void setTransferAmount(BigDecimal transferAmount) {
        this.transferAmount = transferAmount;
    }

    public Date getCreditorRightsTime() {
        return creditorRightsTime;
    }

    public void setCreditorRightsTime(Date creditorRightsTime) {
        this.creditorRightsTime = creditorRightsTime;
    }

    public String getCreditorRightsStatus() {
        return creditorRightsStatus;
    }

    public void setCreditorRightsStatus(String creditorRightsStatus) {
        this.creditorRightsStatus = creditorRightsStatus;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Integer getGuaranteeStatus() {
        return guaranteeStatus;
    }

    public void setGuaranteeStatus(Integer guaranteeStatus) {
        this.guaranteeStatus = guaranteeStatus;
    }

    public String getCollateralInfo() {
        return collateralInfo;
    }

    public void setCollateralInfo(String collateralInfo) {
        this.collateralInfo = collateralInfo;
    }

    public Integer getEvidenceStatus() {
        return evidenceStatus;
    }

    public void setEvidenceStatus(Integer evidenceStatus) {
        this.evidenceStatus = evidenceStatus;
    }

    public String getCompententCourt() {
        return compententCourt;
    }

    public void setCompententCourt(String compententCourt) {
        this.compententCourt = compententCourt;
    }

    public String getDetailedDescription() {
        return detailedDescription;
    }

    public void setDetailedDescription(String detailedDescription) {
        this.detailedDescription = detailedDescription;
    }

    public Integer getApprovalStatus() {
        return approvalStatus;
    }

    public void setApprovalStatus(Integer approvalStatus) {
        this.approvalStatus = approvalStatus;
    }

    public String getRejectionReasons() {
        return rejectionReasons;
    }

    public void setRejectionReasons(String rejectionReasons) {
        this.rejectionReasons = rejectionReasons;
    }

    public Date getApprovalTime() {
        return approvalTime;
    }

    public void setApprovalTime(Date approvalTime) {
        this.approvalTime = approvalTime;
    }

    public String getApprover() {
        return approver;
    }

    public void setApprover(String approver) {
        this.approver = approver;
    }

    public Integer getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public String getContactNumber() {
        return contactNumber;
    }

    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
    
}